/*
 *  @ProductName@
 *  Copyright (C) @CopyrightYear@
 *    National Institute of Advanced Industrial Science and Technology (AIST)
 *    Registration Number: @AISTRegistrationNumber@
 *
 * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 *
 * You should have received a copy of the GNU General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */

package jp.go.aist.six.vuln.model.scap.cvss;

import java.math.BigDecimal;
import java.util.Date;




/**
 *
 *
 * @author	Akihito Nakamura, AIST
 * @version $Id: BaseMetrics.java 6 2010-05-15 10:00:19Z nakamura5akihito $
 */
public class BaseMetrics
    extends AbstractMetrics
{

    /**
     * Base severity score assigned to a vulnerability by a source.
     */
    private BigDecimal  _score;
    //{xsd:decimal[0.0-10.0], 0..1}

    /**
     * Base exploit sub-score assigned to a vulnerability by a source.
     */
    private BigDecimal  _exploitSubscore;
    //{0..1}

    /**
     * Base impact sub-score assigned to a vulnerability by a source.
     */
    private BigDecimal  _impactSubscore;
    //{0..1}


    /* baseVectorsGroup */
    private AccessVector  _accessVector;
    //{0..1}

    private AccessComplexity  _accessComplexity;
    //{0..1}

    private Authentication  _authentication;
    //{0..1}

    private Cia  _confidentialityImpact;
    //{0..1}

    private Cia  _integrityImpact;
    //{0..1}

    private Cia  _availabilityImpact;
    //{0..1}


    /**
     * Data source the vector was obtained from.
     * Example: http://nvd.nist.gov or com.symantec.deepsight.
     */
    private String  _source;
    //{xsd:anyURI}

    private Date  _generatedOnDatetime;
    //{xsd:dateTime, 0..1}



    /**
     * Constructor.
     */
    public BaseMetrics()
    {
    }



    /**
     */
    public void setScore(
                    final BigDecimal score
                    )
    {
        _score = score;
    }


    /**
     */
    public BigDecimal getScore()
    {
        return _score;
    }



    /**
     */
    public void setExploitSubscore(
                    final BigDecimal exploitSubscore
                    )
    {
        _exploitSubscore = exploitSubscore;
    }


    /**
     */
    public BigDecimal getExploitSubscore()
    {
        return _exploitSubscore;
    }



    /**
     */
    public void setImpactSubscore(
                    final BigDecimal impactSubscore
                    )
    {
        _impactSubscore = impactSubscore;
    }


    /**
     */
    public BigDecimal getImpactSubscore()
    {
        return _impactSubscore;
    }



    /**
     */
    public void setAccessVector(
                    final AccessVector accessVector
                    )
    {
        _accessVector = accessVector;
    }


    /**
     */
    public AccessVector getAccessVector()
    {
        return _accessVector;
    }



    /**
     */
    public AccessComplexity getAccessComplexity()
    {
        return _accessComplexity;
    }


    /**
     */
    public void setAccessComplexity(
                    final AccessComplexity accessComplexity
                    )
    {
        _accessComplexity = accessComplexity;
    }



    /**
     */
    public Authentication getAuthentication()
    {
        return _authentication;
    }


    /**
     */
    public void setAuthentication(
                    final Authentication authentication
                    )
    {
        _authentication = authentication;
    }



    /**
     */
    public Cia getConfidentialityImpact()
    {
        return _confidentialityImpact;
    }


    /**
     */
    public void setConfidentialityImpact(
                    final Cia confidentialityImpact
                    )
    {
        _confidentialityImpact = confidentialityImpact;
    }



    /**
     */
    public Cia getIntegrityImpact()
    {
        return _integrityImpact;
    }


    /**
     */
    public void setIntegrityImpact(
                    final Cia integrityImpact
                    )
    {
        _integrityImpact = integrityImpact;
    }



    /**
     */
    public Cia getAvailabilityImpact()
    {
        return _availabilityImpact;
    }


    /**
     */
    public void setAvailabilityImpact(
                    final Cia availabilityImpact
                    )
    {
        _availabilityImpact = availabilityImpact;
    }



    /**
     */
    public String getSource()
    {
        return _source;
    }


    /**
     */
    public void setSource(
                    final String source
                    )
    {
        _source = source;
    }



    /**
     */
    public Date getGeneratedOnDatetime()
    {
        return _generatedOnDatetime;
    }


    /**
     */
    public void setGeneratedOnDatetime(
                    final Date datetime
                    )
    {
        _generatedOnDatetime = datetime;
    }

}
// BaseMetrics
